Body language is used in many situations to communicate information to the outside world. In particular, human facial expressions can convey a large amount of information and are a very common communication channel between humans. This omnipresence of faces in our world has a parallel in many applications of computer graphics where faces are desired. Body language and facial animation have been the subject of research in many areas such as medicine, anatomy, psychology, computer vision, computer graphics and many others. As a reference, the interested reader may wish to consult F. Parke and K. Waters, Computer Facial Animation, A K Peters, 1996 whose content is hereby incorporated by reference.
Typical animation systems can be divided into two categories namely interpolation system and parametrization systems. Interpolation involves using key-frames in 2D or 3D located at different moments in the animated sequence. Intermediate frames are simply interpolated between two successive key frames. The interpolation method has several disadvantages. First, interpolation requires the modelling of a complete database of basic frames, which can be time consuming and may require a large amount of computer memory space. Second, the type of interpolation limits the intermediate frames generated and if two frames do not blend nicely, one or more frames must be added to the sequence. Lastly, for each new model, a complete database must be built which is time consuming and costly.
Parameterization reduces some of the problems encountered using interpolation. A parameter is defined as an arbitrary value that characterizes a member of a system and may also describe functions of that member. In simple terms, parameterization involves expressing the characteristics of a system in terms of parameters. As a simple example, a parameter may be used to describe the position of the eyes on a face using coordinates in 3D space such as cartesian coordinates. An example of parameterization in facial animation is described in F. I. Parke, "Parameterized models for facial animation," IEEE Computer Graphics and Applications, Vol. 2, Nov. 1982, pp. 61-68 whose content is hereby incorporated by reference. The parameterization technique presented is applied to both to the facial model, herein referred to as conformal control, to build a face out of all parameterized facial features, and to the animation process, herein referred to as expression control, to animate a model independently of any specific face. Usually, this parameterization technique requires a single basic model of the face, eliminating the need for a complete database of models and hence requiring less storage space. Systems derived from the concepts of parameterization and interpolation represent a large portion of current developments in facial animation systems. For example in K. Waters, "A muscle model for animating three-dimensional facial express," Computer Graphics (SIGGRAPH '87 Proceedings), volume 21, July 1987, pp. 17-24, Y. Lee et al., "Realistic face modeling for animation." SIGGRAPH 95 Conference Proceedings, Annual Conference Series, Aug. 1995, pp. 55-62 and in Y. Wu et al., "A dynamic wrinkle model in facial animation and skin ageing," Journal of Visualization and Computer Animation, Vol. 6, No. 4, Oct. 1995, pp. 195-206, the parameterization used distributes two types of muscles and their attachment on a synthetic face in order to induce complex non-linear motion. The contents of the above documents are hereby incorporated by reference.
One problem with the parameterization technique is that the key aspect in conformal and expression controls relies upon the parameterization model itself. Developing a parameterization flexible enough to create any possible face, and allowing it to take any desired expression with simple and intuitive controls, is a very complex task. Too few parameters offer only a limited spectrum of expressions, while too many parameters will overwhelm an animator creating a specific expression on a specific face. The right balance generally depends upon the application, but it seems thus far that no unique parameterization has proven to be sufficient for all applications. The problem is further compounded when faces must include all kinds of human, animal and cartoon faces.
Another problem with parameterization systems is the complicated control of the parameters of the synthetic characters by a user in order to animate the synthetic character. A powerful solution to this problem consists in tracing features via markers, snakes, or stereo-matching on a performance actor and mapping this motion onto the synthetic character. For more information about the subject, the reader is invited to consult E. C. Patterson et al., "Facial animation by spatial mapping," Computer Animation '91, 1991, pp. 31-44; F. Pighin et al., Realistic facial animation using image-based 3D morphing, Tech. Report UW-CSE-97-01-03, Dept. of Computer Science, University of Washington, May 1997 and L. Williams, "Performance driven facial animation," Computer Graphics (SIGGRAPH '90 Proceedings), volume 24, Aug. 1990, pp. 235-242 whose contents are hereby incorporated by reference. Controls for parameters of the type described above allow a simple control for the animation of the synthetic object. However, this technique tends to deform the 2D or 3D synthetic model with little consideration for the properties of the synthetic model itself such as different shapes and motions between the performer and the character. The resulting animation is often of poor quality and requires considerable modifications from the artists making use of the animation tool.
Thus, there exists a need in the industry to refine the process of animating body parts such as to obtain more natural animation sequences taking into account the properties of the synthetic model particularly applicable to a wide variety of body parts and more specifically taking into account the properties of the synthetic faces.